

import pyttsx3


class Pyttsx3Cli:
    def __init__(self):

        # 初始化 TTS 引擎
        self.engine = pyttsx3.init()

        # 获取所有可用的声音
        voices = self.engine.getProperty('voices')

        # 打印所有可用的声音
        for voice in voices:
            print(f"id: {voice.id}, name: {voice.name}")

        # 设置特定的声音（例如第一个声音）
        self.engine.setProperty('voice', voices[0].id)
       
        # 运行并等待语音完成
        self.engine.runAndWait()

    async def inference(self, out_folder_path, text):
        # 设置要说的文本
        self.engine.save_to_file(text, out_folder_path)

        # 等待文件生成
        self.engine.runAndWait()


# import asyncio
# async def main():
#     # 初始化CosyVoiceCli实例
#     cli = Pyttsx3Cli()
#     await cli.inference('nihao.wav', '你好，我是智能语音助手，可以将文本转为语音')

# asyncio.run(main())

# from playsound import playsound

# playsound('nihao.wav')  # 同步播放，会阻塞程序直到播放结束





